.TH U\-BOOT\-UPDATE 8 2022\-06\-04 4.0.4 "u\-boot configuration tool"

.SH NAME
u\-boot\-update \- program to generate u\-boot menu files

.SH SYNOPSIS
\fBu\-boot\-update\fR

.SH DESCRIPTION
u\-boot\-update is a tool used to generate the menu files
used by the U\-BOOT bootloader.
Options can be configured in /etc/default/u\-boot
or by adding configuration fragment files to /usr/share/u\-boot\-menu/conf.d/
(those take precedence over /etc/default/u\-boot) and/or to
/etc/u\-boot\-menu/conf.d/ (those take precedence over the 2 aforementioned
locations).

.PP

In order to avoid situations where the system might be rendered unbootable by a
package removal, other packages and downstream distributions MUST NOT edit or
modify files under /etc as those are meant for use by end\-users only. Instead,
it is mandated for such packages to install their config fragments ONLY under
/usr/share/u\-boot\-menu/conf.d/.

.PP

For each <version> of linux kernel installed,
menu items for each of <U_BOOT_ALTERNATIVES> are generated
for the first valid entry among these:

.IP \[bu] 2
fdt <U_BOOT_FDT_DIR><version>/<U_BOOT_FDT>
.IP \[bu]
fdtdir <U_BOOT_FDT_DIR><version>/
.IP \[bu] 2
fdt /<U_BOOT_FDT>
.IP \[bu]
fdt /dtb-<version>

.PP
Paths without <U_BOOT_FDT_DIR> are considered
only when <U_BOOT_FDT_DIR> is left at its default value.

.PP
When root (\fB/\fR) and boot (\fB/boot\fR) are mounted on separate filesystems,
paths are examined with \fB/boot\fR prepended
(i.e. variables should be defined without it).

.SH OPTIONS

.IP "U_BOOT_UPDATE=""\fBtrue\fR|false""" 4
This variable specifies if u\-boot\-update is allowed to modify
the configuration files in /boot/extlinux.
Values are either 'true' or 'false', default is 'true'.

.IP "U_BOOT_ALTERNATIVES=""\fBdefault recovery\fR""" 4
This variable specifies which entries u\-boot\-update is populating.
Values are 'default', 'recovery', 'live',
default is 'default recovery'.

.IP "U_BOOT_DEFAULT=""\fBl0\fR""" 4
This variable specifies the default entry to boot.
The name of an entry consists of two or three characters.
Linux kernel images start with the letter 'l',
followed by an integer started by '0' for the first kernel version
(which is numerically the highest one
in case kernel images of more than one linux version are installed)
and, optionally, the mode (r for rescue mode,
l for live mode).
Memdisk entries start with the letter 'm',
followed by an integer,
no optional modes available.
The default is 'l0'.

.IP "U_BOOT_ENTRIES=""\fBall\fR""" 4
This variables specifies how many kernel versions should be used
to populate the boot configuration.
Value is an integer starting with 1,
or 'all' to populate for all kernels,
default is 'all'.

.IP "U_BOOT_MENU_LABEL=""\fBDebian GNU/Linux, kernel\fR""" 4
This variable specifies the text
that is used as a description in the boot menu.
Value is an arbitrary string.
If not specified, PRETTY_NAME from /etc/os\-release is used.
Otherwise, it defaults to 'Debian GNU/Linux, kernel'.

.IP "U_BOOT_PARAMETERS=""\fBro quiet\fR""" 4
This variable specifies additional boot parameters
that are appended to each kernel entry.
Value is an arbitrary string, default is the contents
of /etc/kernel/cmdline, or 'ro quiet' (except for recovery
entries, where quiet is avoided) if
this file is not present or empty.

.IP "U_BOOT_ROOT=""\fBroot\fR=\fIDEVICE\fR""" 4
This variable specifies the root partition.
It is automatically extracted from /etc/fstab.
U\-BOOT supports both devices and UUIDs.

.IP "U_BOOT_TIMEOUT=""\fB50\fR""" 4
This variable specifies the time
that U\-BOOT should wait for user input during boot.
Values are in decisecond greater than 0
(e.g. '10' for a 1 second timeout),
0 specifies to wait forever.
The default is 50.

.IP "U_BOOT_FDT_DIR=""\fB/usr/lib/linux-image-\fR""" 4
This variable specifies the unversioned stem of paths
where U\-BOOT should look for the flattened device tree binaries.
Default is '/usr/lib/linux-image-'.

.IP "U_BOOT_FDT=""device-tree.dtb""" 4
This variable specifies filename or trailing part of path
for a single device tree binary.
Default is 'device-tree.dtb'.

.IP "U_BOOT_FDT_OVERLAYS_DIR=""\fB/boot/dtbo\fR""" 4
This variable specifies the unversioned stem of paths
where U\-BOOT should look for the flattened device tree overlays binaries.
Default is '/boot/dtbo/'.

.IP "U_BOOT_FDT_OVERLAYS=""device-tree.dtbo""" 4
This variable specifies filenames or trailing part of path
for device tree overlay binaries.
Default is not set.

.IP "U_BOOT_INITRD=""\fBinitrd.img\fR""" 4
This variable specifies the unversioned stem of initramfs filename.
If versioned filename exists (e.g. 'initrd.img-5.10.0-8-armmp-lpae')
then this filename set as option 'initrd',
otherwise if unversioned filename exists (e.g. 'initrd.img)
then that is set as option 'initrd',
otherwise option 'initrd' is not set.
Default is 'initrd.img'.

.SH FILES
/etc/default/u-boot
/usr/share/u-boot-menu/conf.d/
/etc/u-boot-menu/conf.d/

.SH HOMEPAGE
More information about U\-BOOT
can be found at <\fIhttp://www.denx.de/wiki/U-Boot\fR>.

.PP
u\-boot\-update and this manual page was written
by Daniel Baumann <\fIdaniel.baumann@progress-technologies.net\fR>
for extlinux.
Riku Voipio <\fIriku.voipio@linaro.org\fR> updated them for u-boot.
Jonas Smedegaard <\fIdr@jones.dk\fR> updated misc. later changes.
